// components/GoodList/goodlist.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {

    list: { // 属性名
      type: Array, // 类型（必填），目前接受的类型包括：String, Number, Boolean, Object, Array, null（表示任意类型）
      value: '商品列表', // 属性初始值（可选），如果未指定则会根据类型选择一个
    },
    flag: {
      type: Number, // 类型（必填），目前接受的类型包括：String, Number, Boolean, Object, Array, null（表示任意类型）
      value: '', // 属性初始值（可选），如果未指定则会根据类型选择一个
    }

  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 跳转商品详情
    goGoodDetail(e) {
          wx.navigateTo({
            url: '../businessdetails/businessdetails?id=' + e.currentTarget.dataset.id,
          });
    }
  },
  // 生命周期函数--监听页面加载
  onLoad: function (options) {
    var that = this;
    //获取屏幕的宽度
    wx.getSystemInfo({
      success: function (res) {
        that.setData({
          barrage_phoneWidth: res.windowWidth - 100,
        })
      }
    })
    // 声明屏幕宽度-100
    phoneWidth = that.data.barrage_phoneWidth;
    console.log(phoneWidth);
    var that = this;
    this.setData({
      barrageTextColor: "#04BE02",
      barrage_inputText: "flex",
      barragefly_display: "block",
    });
    //打开定时器
    timer = setInterval(this.barrageText_move, 20);


    // setInterval(function () {
    //   that.shoot();
    // }, 1000)
  },
  //是否打开弹幕... 
  barrageSwitch: function (e) {
    console.log(e);
    //先判断没有打开
    if (!e.detail.value) {
      //清空弹幕
      barrage_style_arr = [];
      //设置data的值
      this.setData({
        barrageTextColor: "#D3D3D3",
        barrage_inputText: "none",
        barragefly_display: "none",
        barrage_style: barrage_style_arr,
      });
      //清除定时器
      clearInterval(timer);
    } else {
      this.setData({
        barrageTextColor: "#04BE02",
        barrage_inputText: "flex",
        barragefly_display: "block",
      });
      //打开定时器
      // timer = setInterval(this.barrageText_move, 20)
    }
  },

  //发射按钮
  shoot: function (e) {
    //字体颜色随机
    // var textColor = "rgb(" + parseInt(Math.random() * 256) + "," + parseInt(Math.random() * 256) + "," + parseInt(Math.random() * 256) + ")";
    var textColor = '#eee';
    // //设置弹幕字体的水平位置样式
    // var textWidth = -(this.data.bind_shootValue.length*0);
    //设置弹幕字体的垂直位置样式
    var barrageText_height = (Math.random()) * 96;
    //单条弹幕的内容
    var that = this;
    barrage_style_obj = {
      // textWidth:textWidth,
      barrageText_height: barrageText_height,
      barrage_shootText: that.data.list[arrIndex],
      barrage_shoottextColor: textColor,
      barrage_phoneWidth: phoneWidth
    };
    barrage_style_arr.push(barrage_style_obj);
    console.log(barrage_style_arr[arrIndex])
    this.setData({
      barrage_style: barrage_style_arr[arrIndex],        //发送弹幕
      bind_shootValue: ""                    //清空输入框
    })
    console.log(this.data.barrage_style)
    //定时器  让弹幕动起来
    // this.timer = setInterval(this.barrageText_move, 800);
    arrIndex++;
  },
  //定时器  让弹幕动起来
  barrageText_move: function () {
    var timerNum = barrage_style_arr.length;
    var textMove;
    for (var i = 0; i < timerNum; i++) {
      textMove = barrage_style_arr[i].barrage_phoneWidth;
      // console.log("barrage_style_arr[" + i + "].barrage_phoneWidth----------:" + barrage_style_arr[i].barrage_phoneWidth);
      textMove = textMove - 1;
      barrage_style_arr[i].barrage_phoneWidth = textMove;
      //走完的移除掉
      if (textMove <= -100) {
        //         clearTimeout(this.timer);
        barrage_style_arr.splice(0, 1);
        console.log(barrage_style_arr)
        i--;
        //全部弹幕运行完
        if (barrage_style_arr.length == 0) {
          // this.setData({
          //   barrage_style: barrage_style_arr,
          // })
          clearInterval(this.timer);
          return;
        }
      }
      // console.log("第" + i + "个定时器:", textMove);
      this.setData({
        barrage_style: barrage_style_arr,
      })
    }


  },

  //绑定发射输入框，将值传递给data里的bind_shootValue，发射的时候调用
  bind_shoot: function (e) {
    this.setData({
      bind_shootValue: e.detail.value
    })
  },

})